home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 March / macformat-035.iso / Shareware City / Science / DNA stacks 1.1 / Sample Input⁄Output / Specialized Instructions / Support Index (SI) calculations < prev   
Encoding:
Text File  |  1995-08-10  |  11.4 KB  |  274 lines  |  [TEXT/QED1]

  1. The "Support Indices..." option from the "N-out" field menu
  2. of DNA Translator's utility cards is a _power user_ feature for 
  3. automating the calculation of "support index" (SI) values (for
  4. and example, see Eernisse, D. J., and A. G. Kluge. 1993. Taxonomic 
  5. congruence versus total evidence, and the phylogeny of amniotes 
  6. inferred from fossils, molecules and morphology. Molecular Biology 
  7. and Evolution 10: 1170-1195.; also referred to by Donaghue and others
  8. as "decay index" or by Farris and collaborators as "Bremer Support" 
  9. values).
  10.  
  11. Quick Instructions: 
  12. 1. Save a single-most parsimonious or consensus
  13. tree in PAUP format. Choose one that you are likely to figure in
  14. your publication. The goal is to calculate SI values that you can
  15. add to your figure. In either case, record the length of any
  16. _minimum length_ trees that PAUP finds.
  17.  
  18. 2. Have your normal PAUP file from this analysis available as well,
  19. and make a back-up copy of your original file.
  20.  
  21. 3. Select "Support Indices..." from the "N-out" field menu
  22. of DNA Translator's utility cards. If you don't see the small
  23. "N-out" menu, you may have to first select "Show Field Menus" from
  24. the View menu.
  25.  
  26. 4. You will be prompted for your tree file (see step 1).
  27.  
  28. 5. You will be given the option of appending the SI search blocks
  29. to your current PAUP file (see step 2).
  30.  
  31. 6. You probably don't need to save tree files for each SI search,
  32. even though you will be given the option to do so.
  33.  
  34. 7. Execute your modified PAUP file. This will automatically perform
  35. all searches and save the results to a log file. You are doing a
  36. "converse constraint" search for every node of every tree 
  37. in your tree file (note that the PAUP can display a "node" separated
  38. from a single outgroup if you set this option, but this is not a
  39. node that you will want to calculate an SI for).
  40.  
  41. 8. Open the created log file from PAUP. Subtract the minimum length
  42. from your original unconstrained analysis (L1) with the minimum length from
  43. each converse constraint analysis (L2). This gives you an SI value. For
  44. example, if L2= 320 and L1=317 then SI=3 and this means that the
  45. shortest tree that doesn't contain the clade for the node in question
  46. is three steps longer than the minimum length tree that does keep those
  47. taxa together.
  48.  
  49. SI values vs. Bootstrap values:
  50.  
  51. A high SI generally corresponds to a high bootstrap value (with some
  52. infrequent exceptions) but:
  53.  
  54. 1. SI calculations are based on exactly the same data set as your 
  55. parsimony search (i.e., they are based on all available evidence).
  56.  
  57. 2. SI calculations have a more direct and intuitive relationship to
  58. the "robustness" of nodes.
  59.  
  60. 3. SI calculations do not confound statistical support for the reality
  61. of a particular tree with a separate issue of how likely the same tree
  62. would be obtained if you had more characters from the same universe
  63. of characters, whether or not it is the "true" tree.
  64.  
  65. 4. Some of the assumptions of a bootstrap analysis are frequently violated,
  66. for example, it depends on the i.i.d. assumptions identified by Felsenstein
  67. and others, which require that the characters be identically and 
  68. independently distributed. Sanderson has separated these assumptions into
  69. two less restrictive assumptions, namely, that characters are independent, 
  70. and that the observed charcter set is a "representative" sample of the 
  71. "universe of characters" (paraphrased from PAUP 3.1 manual, p. 56).
  72.  
  73. 5. Whether or not SI values differ from bootstrap analyses in overcoming
  74. systematic biases such as "long branch effects" has not been exhaustively
  75. explored, but it might be at least advisable to try both, rather than
  76. limit your estimates of node robustness to bootstrap values alone (the
  77. most common practice).
  78.  
  79. Overview:
  80. There are generally two approaches that have been used to
  81. calculate SI values. First, one can do a search for
  82. one or more minimum length trees, followed by a series
  83. of analyses keeping all trees of ever-increasing length.
  84. Here is my own example of PAUP blocks to automate such searches:
  85.  
  86. Step 1
  87. ^^^^^^
  88. ]
  89.  
  90. [Normal Nexus data matrix goes here]
  91. begin paup;
  92.    charset mol = 275-747; [I happened to exclude some characters here]
  93.    taxset dupmol = 1-17; [I happened to delete some taxa here]
  94.    exclude mol;
  95.    delete fish1;
  96.    delete dupmol;
  97.    log file='morphMS.log 3/18/93' append; [log results to a file!]
  98.    [!Total evidence analysis, Eernisse & Kluge ]
  99.    [!informative sites only, gapmode = missing]
  100.    [!keeping all trees of min. length]
  101.    HSEARCH ADDSEQ=RANDOM NREPS=10 KEEP=0;
  102.    savetrees file='morph+0_MS.trees';
  103.    describe; [note the length of first min. length tree]
  104.    contree /strict save file = 'morph+0_MS.cons' replace;
  105.    log stop;
  106. endblock;
  107.  
  108. [At this point, it is necessary to stop the analysis
  109. and execute the following paup block with the appropriate 
  110. "KEEP=" values entered below. In my case, the min. length 
  111. trees I found in the above analysis had Length=461.
  112. You can put all this in one file and comment out the
  113. below or above paup blocks for the first or second steps,
  114. respectively. ]
  115.  
  116. [
  117. Step 2
  118. ^^^^^^
  119. ]
  120.  
  121. begin paup;
  122.    log file='morphMS.log 3/18/93' append;
  123.    [!Total evidence analysis, Eernisse & Kluge ]
  124.    [!keeping all trees of min. length plus 1 step]
  125.    HSEARCH ADDSEQ=RANDOM NREPS=10 KEEP=462; [i.e., 461+1]
  126.    savetrees file='morph+1_MS.trees' replace;
  127.    describe;
  128.    contree /strict save file = 'morph+1_MS.cons' replace;
  129.  
  130.    [!Total evidence analysis, Eernisse & Kluge ]
  131.    [!keeping all trees of min. length plus 2 steps]
  132.    HSEARCH ADDSEQ=RANDOM NREPS=10 KEEP=463;
  133.    savetrees file='morph+2_MS.trees' replace;
  134.    describe;
  135.    contree /strict save file = 'morph+2_MS.cons' replace;
  136.  
  137.    [!Total evidence analysis, Eernisse & Kluge ]
  138.    [!keeping all trees of min. length plus 3 steps]
  139.    HSEARCH ADDSEQ=RANDOM NREPS=10 KEEP=464;
  140.    savetrees file='morph+3_MS.trees' replace;
  141.    describe;
  142.    contree /strict save file = 'morph+3_MS.cons' replace;
  143.    log stop;
  144. endblock;
  145.  
  146.  [ The above searches will produce (among other things)
  147. four strict consensus trees of all trees of min. length
  148. plus 0, 1, 2, and 3 steps, respectively. You can examine
  149. these consensus trees of decreasing resolution and thereby
  150. assess the number of steps required before a node is no
  151. longer supported. For example, if a node is in the first
  152. three consensus trees but not the last, then the node has
  153. an S.I. value of 3 (any hypothesis found which does not
  154. include that node is at least 3 steps longer than the
  155. minimum length hypothesis).
  156.  
  157.    The problem with this approach becomes obvious as one
  158. attempts to increase the "KEEP" value. Not surprisingly,
  159. one finds an increasingly large number of trees, so that
  160. eventually it becomes very time-consuming to swap on all
  161. found trees. It was not feasible to calculate S.I. values
  162. > 4 in the above analysis.
  163.  
  164. Step 3
  165. ^^^^^^
  166.  
  167.    Another approach is to use PAUP's converse constraint
  168. searches to search node by node for the shortest trees
  169. that fail to satisfy a constraint corresponding to each
  170. respective node. That is where (finally) the "Extract
  171. Nodes" utility comes in. Do the following:
  172.  
  173.   1. Perform the first search block above using PAUP.
  174.   2. On a DNA Translator "utility" card, make sure that 
  175.      "Field Menus" are shown (View menu; this feature is not  
  176.      yet available from the Convert menu -- sorry!).
  177.   3. Pull down the "N-str" menu, and select "Import Sequences" 
  178.      and "Disk" (Yes, I know this isn't intuitive -- I putting
  179.      off a revamping of the menus until the next major revision).
  180.   4. Choose (from the open dialog) the consensus file from 
  181.      your min. length + 0 steps search (e.g., "morph+0_MS.cons").
  182.      The tree file should be imported to the "N-str" field.
  183.   5. Select "Export as" and "Extract Nodes" from the "N-str"
  184.      menu. Specify the name and location of the output from
  185.      the save dialog. You will also be asked to choose from some
  186.      alternative options, to choose the kind of search (branch
  187.      and bound or heuristic). If heuristic, simple or random
  188.      addition sequence searches (the former is not recom-
  189.      mended). If random addition, then the number of replicates
  190.      must be specified (the default value of 10 may be too
  191.      low because PAUP is less efficient when converse constraints
  192.      are imposed -- use "Test Heuristics" to determine the
  193.      effectiveness of each replicate).
  194.   6. Examine the output in PAUP. You may want to comment out some
  195.      of the analysis blocks if you already did the "Step 2"
  196.      searches above. Here are parts of an example output file:
  197.      ]
  198.  
  199. begin assumptions;
  200.     [Nodes for tree strict (tree 1)]
  201.     taxset t1_n2= DISCO PELOB PLETH AMPHI CAEC1 CAEC2 ICHTH SIREN AMBYS TYPHL SOOGL LEPTO MICRO BUFON HYLID PIPID TURTL CAPTORHI SNAKE LIZAR CROCO PASSE GALLI PROTEROC ERYTHROS PROTEROS PROTOROS CHORISTO TRYLOPHO RHYNCHOS ARAEOSCE MOUSE RATTU HUMAN RABBI MORGANUC TRITYLOD EXAERETO DIADEMOD THRINAXO PROCYNOS THEROCEP DICYNODO GORGONOP DINOCEPH BIARMOSU SPHENACO EDAPHOSA OPHIACOD CASEA;
  202.     taxset t1_n3= DISCO PELOB PLETH AMPHI CAEC1 CAEC2 ICHTH SIREN AMBYS TYPHL SOOGL LEPTO MICRO BUFON HYLID PIPID;
  203.     taxset t1_n4= DISCO PELOB PLETH AMPHI CAEC1 CAEC2 ICHTH SIREN AMBYS TYPHL SOOGL LEPTO MICRO BUFON HYLID;
  204.     taxset t1_n5=DISCO PELOB PLETH AMPHI CAEC1 CAEC2 ICHTH SIREN AMBYS TYPHL;
  205.     taxset t1_n6= PELOB PLETH AMPHI CAEC1 CAEC2 ICHTH;
  206.     taxset t1_n7=PELOB PLETH;
  207.     taxset t1_n8= AMPHI CAEC1 CAEC2 ICHTH;
  208. [etc.]
  209.     taxset t1_n46= MOUSE RATTU HUMAN RABBI;
  210.     taxset t1_n47= MOUSE RATTU HUMAN;
  211.     taxset t1_n48=MOUSE RATTU;
  212.     [multiple trees are allowed as input, so tree 2 would start
  213.      at t2_n2, and so on.]
  214. endblock;
  215.  
  216. begin paup;
  217.    [Constraints for nodes in tree strict (tree 1)]
  218.    constraints ct1_n2=((t1_n2));
  219.    constraints ct1_n3=((t1_n3));
  220.    constraints ct1_n4=((t1_n4));
  221.    constraints ct1_n5=((t1_n5));
  222.    constraints ct1_n6=((t1_n6));
  223.    constraints ct1_n7=((t1_n7));
  224.    constraints ct1_n8=((t1_n8));
  225. [etc.]
  226.    constraints ct1_n46=((t1_n46));
  227.    constraints ct1_n47=((t1_n47));
  228.    constraints ct1_n48=((t1_n48));
  229. endblock;
  230.  
  231. begin paup;
  232.   log file = 'si_calcs.log 5/20/93' append;
  233.    [Constraint search blocks created by DNA Translator stack on 5/20/93, 11:23 AM]
  234.  
  235.    [!Following search uses ct1_n2 constraint]
  236.    showconstr ct1_n2;
  237.    HSEARCH ADDSEQ=RANDOM NREPS=10 enforce converse constraints = ct1_n2;
  238.    savetrees file='ct1_n2.trees 5/20/93' replace;
  239.    describe;
  240.  
  241.    [!Following search uses ct1_n3 constraint]
  242.    showconstr ct1_n3;
  243.    HSEARCH ADDSEQ=RANDOM NREPS=10 enforce converse constraints = ct1_n3;
  244.    savetrees file='ct1_n3.trees 5/20/93' replace;
  245.    describe;
  246.  
  247.    [etc.]
  248.  
  249.    log stop;
  250. endblock;
  251.  
  252.  
  253.   [ 
  254.   The resulting log file can be examined for the SI value
  255.   corresponding to each node. Saving tree files is optional.
  256.   If "no save" option is specified, the output will lack the
  257.   "savetrees..." command. If you want to do additional replicate
  258.   searches then be sure to add "RSEED=xxxxxxx" after "HSEARCH" 
  259.   and before ";" where xxxxxxx is any integer not previously used
  260.   (e.g., "HSEARCH ADDSEQ=RANDOM NREPS=10 RSEED=93475028 enforce 
  261.   converse constraints = ct1_n2;"). Otherwise, your first search
  262.   of each start of PAUP will be reset to PAUP's default of RSEED=1,
  263.   and you risk doing the same exact searches all over again.
  264.   ]
  265.  
  266.  
  267.   [
  268.   As always, I would like to hear from you and please acknowledge
  269.   my stack (Eernisse, D. J. 1992. DNA Translator and Aligner: HyperCard 
  270.   utilities to aid phylogenetic analysis of molecules. CABIOS 8:177-184)
  271.   and/or the above Eernisse and Kluge reference if you publish SI values 
  272.   with its help. DJE 6/1/93 (updated 3/24/95) deernisse@fullerton.edu
  273.   ]